import coffeeshop.*;
import coffeeshop.beverages.coffee.*;
import coffeeshop.condiments.*;

public class Main {
  public static void main(String[] args) {
    
    /** Chcemy najzwyklejsze espresso */
    // Tworzymy obiekt napoju
    Beverage c1 = new Espresso();
    // Wyświetlamy opis i koszt
    showSummary(c1);  
    
    /** Chcemy kawę po polsku z bitą śmietaną */
    // Tworzymy obiekt napoju
    Beverage c2 = new PolishCoffee();
    // Dekorujemy bitą śmietaną
    c2 = new WhippedCream(c2);
    // Wyświetlamy opis i koszt
    showSummary(c2);

    /** Chcemy espresso z podwójnym cukrem i bitą śmietaną */
    // Tworzymy obiekt napoju
    Beverage c3 = new Espresso();
    // Dekorujemy cukrem
    c3 = new Sugar(c3);
    // Dekorujemy drugim cukrem
    c3 = new Sugar(c3);
    // Dekorujemy bitą śmietaną
    c3 = new WhippedCream(c3);
    // Wyświetlamy opis i koszt
    showSummary(c3);
  }

  /**
   * Wyświetla opis i koszt wybranego napoju
   * @param b - obiekt napoju
   */
  private static void showSummary(Beverage b) {
    System.out.println("Opis: " + b.getDescription());
    System.out.println("Cena: " + String.format("%.2f", b.getCost()) + " zł");
    System.out.println("---------------------------");
  }
}
